package sort.memory;

/**
 * 选择排序
 * 选择排序其实就是冒泡排序，只是每次比较不交换元素，只记录最小值的下标，最后才把最小值交换到前面，
 * 交换次数比冒泡排序少，特别适合字符串或者其他大数据交换代价大的场景
 * @author：涂有
 * @date 2017年11月26日 下午4:12:46
 */
public class SelectSort {
	
	public static void sort(int[] a){
		for(int i = 0; i < a.length-1; i++){
			int min = a.length - 1;
			for(int j = min - 1; j > i; j--){
				if(a[j] < a[min]){
					min = j;
				}
			}
			SortUtil.swap(a, i, min);
		}
	}
}
